﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using dao.daos;
using negocio.commons;
using negocio.entidades;

namespace negocio.servicios
{
    public class ProvinciaService : IService<Provincia>
    {
        private ProvinciaDao dao = new ProvinciaDao();

        public List<Provincia> ObtenerTodo()
        {
            return LeerDataReaderList(dao.ObtenerTodo());
        }

        public List<Provincia> ObtenerActivos()
        {
            return LeerDataReaderList(dao.ObtenerActivos());
        }

        public Provincia ObtenerPorId(int id)
        {
            return LeerDataReader(dao.ObtenerPorId(id));
        }

        public bool Existe(Provincia busObject)
        {
            throw new NotImplementedException();
        }

        public void Eliminar(Provincia busObject)
        {
            throw new NotImplementedException();
        }

        public void Insertar(Provincia busObject)
        {
            throw new NotImplementedException();
        }

        public void Modificar(Provincia busObject)
        {
            throw new NotImplementedException();
        }

        private Provincia LeerDataReader(SqlDataReader dr)
        {
            Provincia bus = new Provincia();
            while (dr.Read())
            {
                bus.Id = Convert.ToInt32(dr["ID_PROVINCIA"]);
                bus.Nombre = Convert.ToString(dr["NOMBRE"]);
            }
            dr.Close();
            return bus;
        }

        private List<Provincia> LeerDataReaderList(SqlDataReader dr)
        {
            List<Provincia> listBus = new List<Provincia>();
            while (dr.Read())
            {
                Provincia bus = new Provincia();
                bus.Id = Convert.ToInt32(dr["ID_PROVINCIA"]);
                bus.Nombre = Convert.ToString(dr["NOMBRE"]);
                listBus.Add(bus);
            }
            dr.Close();
            return listBus;
        }
    }
}
